package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 材料商发票对象 yt_bill_material_supplier
 * 
 * @author magichaohao
 * @date 2021-05-19
 */
public class YtBillMaterialSupplier extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 材料商发票id */
    private Long materialSupplierInvoiceId;

    /** 收票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ticketDate;

    /** 客户id */
    @Excel(name = "客户id")
    private Long customerId;

    /** 开票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invoiceDate;

    /** 发票代码 */
    @Excel(name = "发票代码")
    private String invoiceCode;

    /** 发票号 */
    @Excel(name = "发票号")
    private String invoiceNumber;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 发票金额 */
    @Excel(name = "发票金额")
    private BigDecimal invoiceMoney;

    /** 税率 */
    @Excel(name = "税率")
    private Long taxRate;

    /** 税额 */
    @Excel(name = "税额")
    private BigDecimal tax;

    /** 合计金额 */
    @Excel(name = "合计金额")
    private BigDecimal amountInTotal;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private Integer contractStates;

    private YtCustomerMsg ytCustomerMsg;

    public void setMaterialSupplierInvoiceId(Long materialSupplierInvoiceId) 
    {
        this.materialSupplierInvoiceId = materialSupplierInvoiceId;
    }

    public Long getMaterialSupplierInvoiceId() 
    {
        return materialSupplierInvoiceId;
    }
    public void setTicketDate(Date ticketDate) 
    {
        this.ticketDate = ticketDate;
    }

    public Date getTicketDate() 
    {
        return ticketDate;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setInvoiceDate(Date invoiceDate) 
    {
        this.invoiceDate = invoiceDate;
    }

    public Date getInvoiceDate() 
    {
        return invoiceDate;
    }
    public void setInvoiceCode(String invoiceCode) 
    {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceCode() 
    {
        return invoiceCode;
    }
    public void setInvoiceNumber(String invoiceNumber) 
    {
        this.invoiceNumber = invoiceNumber;
    }

    public String getInvoiceNumber() 
    {
        return invoiceNumber;
    }
    public void setCompanyName(String companyName) 
    {
        this.companyName = companyName;
    }

    public String getCompanyName() 
    {
        return companyName;
    }
    public void setInvoiceMoney(BigDecimal invoiceMoney) 
    {
        this.invoiceMoney = invoiceMoney;
    }

    public BigDecimal getInvoiceMoney() 
    {
        return invoiceMoney;
    }
    public void setTaxRate(Long taxRate) 
    {
        this.taxRate = taxRate;
    }

    public Long getTaxRate() 
    {
        return taxRate;
    }
    public void setTax(BigDecimal tax) 
    {
        this.tax = tax;
    }

    public BigDecimal getTax() 
    {
        return tax;
    }
    public void setAmountInTotal(BigDecimal amountInTotal) 
    {
        this.amountInTotal = amountInTotal;
    }

    public BigDecimal getAmountInTotal() 
    {
        return amountInTotal;
    }
    public void setContractStates(Integer contractStates) 
    {
        this.contractStates = contractStates;
    }

    public Integer getContractStates() 
    {
        return contractStates;
    }

    public YtCustomerMsg getYtCustomerMsg() {
        return ytCustomerMsg;
    }

    public void setYtCustomerMsg(YtCustomerMsg ytCustomerMsg) {
        this.ytCustomerMsg = ytCustomerMsg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("materialSupplierInvoiceId", getMaterialSupplierInvoiceId())
            .append("ticketDate", getTicketDate())
            .append("customerId", getCustomerId())
            .append("invoiceDate", getInvoiceDate())
            .append("invoiceCode", getInvoiceCode())
            .append("invoiceNumber", getInvoiceNumber())
            .append("companyName", getCompanyName())
            .append("invoiceMoney", getInvoiceMoney())
            .append("taxRate", getTaxRate())
            .append("tax", getTax())
            .append("amountInTotal", getAmountInTotal())
            .append("contractStates", getContractStates())
            .toString();
    }
}
